This disclosure relates generally to business process management, and more particularly to stable linking, and patchability of business processes through hierarchical versioning.
Business process models comprise multiple artifacts including workflows, data mappings, tasks, texts, data types, etc. Typically, those artifacts are reused between different process models. Moreover, a modeler of the artifacts may change them often, but modifying certain artifacts more frequently than others. Meanwhile, running business process instances tend to have long lifecycles, potentially spanning multiple model refinements, making it sometimes necessary to “patch” previously deployed workflows and tasks. Conventional software lifecycle management approaches do not allow for stable linking, or patchability of business process.
In iterative process development, some artifacts like workflows (i.e., process control flow specifications) typically undergo multiple change-build-deployment-test cycles before ultimately being finalized. In contrast, other artifacts like referenced service interfaces (e.g., a WSDL interface for consuming a Web Service or calling a sub-workflow from within a process activity) will usually not be modified after they are initially imported into the process model. It is not desirable to have modifications in a single process model artifact (e.g, a workflow) necessarily affect all referenced artifacts (e.g., referenced service interfaces) that did not change at the same time.